package org.nf.web.servlet;

import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

import java.lang.reflect.Parameter;

/**
 * @author zhu
 * @date 2024-05-17
 */
public interface MethodArgumentsResolver {
    /**
     * 是否支持当前的参数解析
     *
     * @param parameter 参数信息
     * @return 是否支持（true表示支持）
     */
    boolean supports(Parameter parameter);

    /**
     * 参数解析
     *
     * @param parameter 参数信息
     * @param servletApi 请求对象和响应对象
     * @return 解析后的值
     */
    Object resolve(Parameter parameter, ServletApi servletApi);
}
